package com.example.tools.Result;

public class GlobalException extends RuntimeException{

    /**
     * 结果码
     */
    private int status;

    /**
     * 错误消息
     */
    private String error;

    /**
     * ResultCode
     */
    private ResultStatus resultStatus;

    /**
     * 创建一个新的实例 ServiceException.
     * @param resultStatus
     * @param error
     */
    public GlobalException(ResultStatus resultStatus, String error) {
        this.resultStatus = resultStatus;
        this.status = resultStatus.getStatus();
        this.error = error;
    }

    /**
     * @Title: getResultCode
     * @Description: get ResultCode
     * @param @return    参数
     * @return BaseException    返回类型
     * @throws
     */
    public ResultStatus getResultCode() {
        return resultStatus;
    }

    /**
     * @Title: getStatus
     * @Description: 获取状态码
     * @param @return    参数
     * @return int    返回类型
     * @throws
     */
    public int getStatus() {
        return status;
    }

    /**
     * @Title: getError
     * @Description: 获取错误消息
     * @param @return    参数
     * @return String    返回类型
     * @throws
     */
    public String getError() {
        return error;
    }

    @Override
    public synchronized Throwable fillInStackTrace() {
        return this;
    }
}
